1. Field of the Invention
This invention relates to a system and method for symbolic access of conceptual structures stored in a memory and more particularly to such a system and method where frame and unit-like data is arranged in conceptual structures.
2. Description of Prior Art
Applications in the field of Artificial Intelligence utilize knowledge about the problem domain to solve problems in that domain. Knowledge is a particular kind of data. It can be particular facts, general rules or relevant relationships. In the world of data bases, knowledge corresponds to the meaning of the data as opposed to the data itself. This knowledge must be stored in the computer's memory and accessed by programs that run in the computer. Frames are the traditional data structure used for this and units are extensions to frames. They provide symbolic access to knowledge by allowing the computer program to reference them and their contents by name rather than by location or index. This invention provides a mapping of frames and units and their symbolic access capabilities to a new, graph based, knowledge representation called conceptual structures.
The theory of conceptual structures is explained in great detail in a book of the same name by John Sowa, Addison-Wesley, 1984. It is a graph based theory, using carefully defined kinds of graphs to represent knowledge. The present invention assumes some implementation of conceptual structures and extends that implementation to allow access to these graphs as frames or units. A mapping from frames or units to conceptual structures has not been given before, nor have algorithms been derived to support accessing conceptual structure as frames or units.
The theoretical base behind frames/units is ad hoc. It does not have a formal mathematical basis, but, because of its intuitive appeal and flexibility, it is widely used. The new theory, conceptual structures, has a well-defined mathematical basis. This invention shows that conceptual structures subsumes the capabilities of frames/units. The prior art has not included a process or method of representing frames with conceptual structures nor accessing conceptual structures symbolically as is done when accessing frames.
The present invention involves a useful application of a mathematically based knowledge representation technique called "conceptual structures".
In the following paragraphs, frames and conceptual structures will be briefly described and then a mapping will be described which shows how frames can be implemented with conceptual structures. This pattern will be repeated for successive features of frames.
Frames are a named data structure consisting of a set of named slots as defined by Patrick H. Winston and Berthold K. P. Horn in LISP published by Addison-Wesley, 1981. An example is a frame used to represent an airplane called Sopwith-Camel where each slot of the frame represents some characteristic of the plane, such as height and speed. Since frames are normally used in the programming language LISP, a LISP-like notation is used to describe a frame as follows:
(Sopwith-Camel PA1 (Sopwith-Camel
(IS-A PLANE) PA2 (HEIGHT 600) PA2 (SPEED 300)) PA2 (IS-A PLANE) PA2 (HEIGHT 600) PA2 (SPEED 400))
In this example Sopwith-Camel is the name of the frame and IS-A, HEIGHT and SPEED are slots with their respective values PLANE, 600 and 300.
Two functions are basic to frames, GET-VALUE and PUT VALUE. GET-VALUE takes two arguments, a frame name and a slot name, and returns the value associated with the slot. So (GET-VALUE 'Sopwith-Camel 'HEIGHT) would return 600 and (GET-VALUE 'Sopwith-Camel 'IS-A) would return PLANE. PUT-VALUE takes the same two arguments plus a new value for the named slot. Thus, (PUT-VALUE 'Sopwith-Camel 'SPEED 400) would change the frame to:
The important thing to observe about the frame representation is that each slot establishes a named relationship between a frame and a value. For example, HEIGHT establishes a HEIGHT relationship between the frame Sopwith-Camel and the number 600. Also important is that the frame Sopwith-Camel and slots HEIGHT and SPEED are being used to represent the concepts of plane, height, and speed.